colmasgdict = {'基础信息': {
    "-": {'序号': 'F01010001', '部门': 'F01010002', '职务': 'F01010003', '职级': 'F01010004', '姓名': 'F01010005',
          '身份证号': 'F01010006', '银行卡号': 'F01010007', '开户行': 'F01010008', '人员类别': 'F01010009',
          '课题名称': 'F01010010', '证书': 'F01010011', '考勤信息等': 'F01010012', '费用承担方组织编码': 'F01010013',
          '费用承担方': 'F01010014', '核算组织': 'F01010015', '成本归集部门组织编码': 'F01010016',
          '成本归集部门': 'F01010017', '职称(最高)': 'F01010018', '最高学位': 'F01010019', '工资总额': 'F01010020'}},
    '应发项': {'基本薪酬': {'岗位工资': 'F02010001', '试用期工资': 'F02010002', '实习工资': 'F02010003',
                            '补发工资': 'F02010004'},
               '津补贴': {'发展补贴': 'F02020001', '工龄津贴': 'F02020002', '职称津贴': 'F02020003',
                          '学历津贴': 'F02020004', '技能津贴': 'F02020005', '电脑补贴': 'F02020006',
                          '独子托补': 'F02020007', '高原津贴': 'F02020008', '证书补贴': 'F02020009',
                          '专家津贴': 'F02020010', '安全岗位津 贴': 'F02020011', '高温津贴': 'F02020012',
                          '公里补助': 'F02020013', '入职培训补助': 'F02020014', '通讯费': 'F02020015',
                          '加班补助': 'F02020016', '节假日': 'F02020017', '菁英计划补助': 'F02020018',
                          '餐费': 'F02020019', '导师津贴': 'F02020020'},
               '绩效及奖励': {'月度绩效': 'F02030001', '季度绩效': 'F02030002', '年度绩效': 'F02030003',
                              '其他奖励': 'F02030004', '安全绩效': 'F02030005', '任期激励': 'F02030006',
                              '兑现将': 'F02030007', '开发奖': 'F02030008', '稿费': 'F02030009',
                              '运营质量优胜奖': 'F02030010', '管理创新成果奖': 'F02030011',
                              '技术创新奖': 'F02030012', '优质工程奖': 'F02030013',
                              '十大杰出青年': 'F02030014', '十大优秀青年': 'F02030015',
                              '宣传报道先进单位': 'F02030016', '宣传报道先进个人': 'F02030017',
                              '优秀青年突击队': 'F02030018', '优秀项目经理': 'F02030019',
                              '优秀青年专业技术干部': 'F02030020', '青年英才': 'F02030021',
                              '技能人才': 'F02030022', '优秀师徒': 'F02030023', '巾帼建功标兵': 'F02030024',
                              '劳动竞赛先进单位': 'F02030025', '劳动竞赛先进个人': 'F02030026'}},
    '应发前应扣': {"-": {'缺勤扣款': 'F03010001', '罚款': 'F03010002', '其他扣款': 'F03010003'}},
    '应发后应扣不计税项': {
        '险金': {'公积金': 'F04010001', '养老金': 'F04010002', '失业金': 'F04010003', '医疗': 'F04010004',
                 '年金': 'F04010005'}}, '应发后应扣计税': {'个税': {'个税': 'F05010001'}},
    '应税额增加项': {'自定义': {'自定义（如合并计税项）': 'F06010001'}}, '应税额减免项': {
        '专项减免': {'子女教育': 'F07010001', '继续教育': 'F07010002', '住房贷款': 'F07010003', '住房租金': 'F07010004',
                     '重大疾病': 'F07010005', '赡养老人': 'F07010006'}, '自定义': {'自定义': 'F07020001'}}, '合计项': {
        "-": {'应发前应扣合计': 'F08010001', '应发后应扣计税合计': 'F08010002', '应发后应扣不计税合计': 'F08010003',
              '应税额增加项合计': 'F08010004', '应税额减免项合计': 'F08010005', '应发合计': 'F08010006',
              '应税额': 'F08010007', '实发': 'F08010008', '个人险金小计': 'F08010009', '单位险金小计': 'F08010010'}},
    '非个人金额项': {'单位险金': {'公积金': 'F09010001', '养老金': 'F09010002', '失业金': 'F09010003',
                                  '医疗': 'F09010004', '年金': 'F09010005'}},
    '其他': {"-": {'备注': 'F10010001'}}}

f_codes = []


def extract_f_codes(data_dict):
    for key, value in data_dict.items():
        if isinstance(value, dict):
            # 如果值是字典，递归调用函数
            extract_f_codes(value)
        if isinstance(value, str) and value.startswith('F'):
            # 如果值以 'F' 开头，添加到列表中
            f_codes.append(value)


# 使用函数
extract_f_codes(colmasgdict)
print(f_codes)
